This invention relates to engine control systems and, more particularly, to an engine control unit which is microprogrammed to generate an output pulse train of variable width and variable position relative to a variable frequency reference pulse train for controlling the spark timing of an engine. To achieve fuel economy, reduced unwanted exhaust emissions and improve engine performance and drivability, it is desirable to accurately control the various operations of an internal combustion engine such as spark timing, fuel metering and idle speed. Because of improved accuracy and lower costs, digital engine controllers have recently been proposed. The engine controllers of the prior art have generally been custom designed for a particular control function and require substantial redesign when additional control functions are subsequently desired.
In contrast to the prior art, the present invention utilizes a distributed processing approach wherein a microprogrammable engine control unit having arithmetic capability is interfaced with a microprocessor and engine control means and is capable of performing various engine control functions asynchronously with the processor to improve the throughput of the engine control system. More specifically, the engine control unit includes a RAM for parameter storage, a free-running counter for real time information, an arithmetic logic unit for data operations, output logic, and control logic for controlling the sequence of operations of the engine control unit. In a specific application disclosed, the engine control unit controls engine spark timing by raising an output signal to the ignition circuit at the start of a dwell period and lowering the signal at the correct firing point. The engine control unit uses dwell and firing time information supplied by the microprocessor to control the output signal relative to variable frequency input reference pulses. The reference pulses correspond to a predetermined engine crankshaft position and their frequency of occurrence is indicative of engine speed. The microprocessor responds to various engine parameters for developing control words specifying dwell time and firing time. These control words are periodically transferred to the RAM of the engine control unit for use in controlling the spark timing output signal. The engine control unit calculates the period of the reference pulses for use by the microprocessor in developing the control words. The engine control unit also uses the calculated period to adjust the spark timing output for variations in engine speed which occur between receipt of data from the microprocessor.
A more complete understanding of the present invention may be had from the following detailed description which should be read in conjunction with the drawings.